package com.ruoyi.dl.mapper;

import java.util.List;

import com.ruoyi.dl.domain.DlOrdersGoods;
import org.apache.ibatis.annotations.Param;

/**
 * 发单商品Mapper接口
 *
 * @author ruoyi
 * @date 2020-12-28
 */
public interface DlOrdersGoodsMapper {
    /**
     * 查询发单商品
     *
     * @param id 发单商品ID
     * @return 发单商品
     */
    public DlOrdersGoods selectDlOrdersGoodsById(Integer id);

    /**
     * 新建查询发单商品
     *
     * @param id 发单商品ID
     * @return 发单商品
     */
    public DlOrdersGoods newSelectDlOrdersGoodsById(Integer id);

    /**
     * 根据用户id查询个人我接受的商单列表
     *
     * @param userId     用户id
     * @param ordersType 订单状态
     * @return
     */
    public List<DlOrdersGoods> selectDlOrdersGoodsByUserId(@Param("userId") Integer userId, @Param("ordersType") Integer ordersType, @Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize);

    /**
     * 根据用户id查询个人我发布的的商单列表
     *
     * @param userId     发布人id
     * @param ordersType 订单状态
     * @param pageIndex  索引
     * @param pageSize   条数
     * @return
     */
    public List<DlOrdersGoods> selectDlOrdersGoodsByFBUserId(@Param("userId") Integer userId, @Param("ordersType") Integer ordersType, @Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize);

    /**
     * 查询发单商品列表
     *
     * @param dlOrdersGoods 发单商品
     * @return 发单商品集合
     */
    public List<DlOrdersGoods> selectDlOrdersGoodsList(DlOrdersGoods dlOrdersGoods);

    /**
     * 查询发单商品列表
     *
     * @param dlOrdersGoods 发单商品
     * @return 发单商品集合
     */
    public List<DlOrdersGoods> newSelectDlOrdersGoodsList(DlOrdersGoods dlOrdersGoods);

    /**
     * 查询所有未结单商单列表排序
     *
     * @param dlOrdersGoods 商单信息
     * @return 结果
     */
    public List<DlOrdersGoods> newSelectSearchDlOrdersGoodsALLSortService(DlOrdersGoods dlOrdersGoods);

    /**
     * 查询所有未结单商单列表
     *
     * @param dlOrdersGoods 商单信息
     * @return 结果
     */
    public List<DlOrdersGoods> newSelectSearchDlOrdersGoodsNotInOrders(DlOrdersGoods dlOrdersGoods);

    /**
     * 查询所有未结单商单列表
     *
     * @param dlOrdersGoods 商单信息
     * @return 结果
     */
    public List<DlOrdersGoods> newSelectSearchDlOrdersGoodsInOrders(DlOrdersGoods dlOrdersGoods);

    /**
     * 新增发单商品
     *
     * @param dlOrdersGoods 发单商品
     * @return 结果
     */
    public int insertDlOrdersGoods(DlOrdersGoods dlOrdersGoods);

    /**
     * 修改发单商品
     *
     * @param dlOrdersGoods 发单商品
     * @return 结果
     */
    public int updateDlOrdersGoods(DlOrdersGoods dlOrdersGoods);

    /**
     * 删除发单商品
     *
     * @param id 发单商品ID
     * @return 结果
     */
    public int deleteDlOrdersGoodsById(Integer id);

    /**
     * 批量删除发单商品
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteDlOrdersGoodsByIds(String[] ids);
}
